// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Widgets/SCompoundWidget.h"


class SPakPlatformsView;
class SPakAssetsView;
class SElectAssetsView;
class FStateThread;
struct FAssetData;

/**
 * 
 */
class SCookDialogue : public SCompoundWidget
{
public:
	SLATE_BEGIN_ARGS(SCookDialogue)
	{}
	SLATE_END_ARGS()

	/** Constructs this widget with InArgs */
	void Construct(const FArguments& InArgs);

	void CookPaths(TArray<FString> SelectedPaths);

	void CookAssets(TArray<FAssetData> SelectedAssets);

public:


protected:

	void CookRun();

	void CookComplete();

	void CookStop();

	void CookJoin();

	void CookExit();

	void DoCookAsset();

	FReply CookSelectAssets();

protected:

	TSharedPtr<SPakPlatformsView> PakPlatformsView;

	TSharedPtr<SPakAssetsView> PakAssetsView;

	TSharedPtr<SElectAssetsView> ElectAssetsView;

	TUniquePtr<FStateThread> CookThread;

	//TSharedPtr<FStateThread> CookThread;

	volatile bool IsCooking;
};
